﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Drawing;

namespace Skewworks.Win.Motif.Glide
{
    public class GlideDataGridSettings : ISettings
    {

        #region Variables

        private GlideDataGrid _obj;

        #endregion

        #region Constructor

        public GlideDataGridSettings(GlideDataGrid target)
        {
            _obj = target;
        }

        #endregion

        #region Properties

        [Category("Behavior")]
        public bool Draggable
        {
            get { return _obj.Draggable; }
            set { _obj.Draggable = value; }
        }

        [Category("Appearance")]
        public GlideFonts Font
        {
            get { return _obj.GFont; }
            set { _obj.GFont = value; }
        }

        [Category("Appearance")]
        public Color GridColor
        {
            get { return _obj.GridColor; }
            set { _obj.GridColor = value; }
        }

        [Category("Appearance")]
        public Color HeadersBackColor
        {
            get { return _obj.HeadersBackColor; }
            set { _obj.HeadersBackColor = value; }
        }

        [Category("Appearance")]
        public Color HeadersFontColor
        {
            get { return _obj.HeadersFontColor; }
            set { _obj.HeadersFontColor = value; }
        }

        [Category("Appearance")]
        public Color ItemsAltBackColor
        {
            get { return _obj.ItemsAltBackColor; }
            set { _obj.ItemsAltBackColor = value; }
        }

        [Category("Appearance")]
        public Color ItemsBackColor
        {
            get { return _obj.ItemsBackColor; }
            set { _obj.ItemsBackColor = value; }
        }

        [Category("Appearance")]
        public Color ItemsFontColor
        {
            get { return _obj.ItemsFontColor; }
            set { _obj.ItemsFontColor = value; }
        }

        [Category("Layout")]
        public Point Location
        {
            get { return _obj.Location; }
            set { _obj.Location = value; }
        }

        [Category("Design")]
        public string Name
        {
            get { return _obj.Name; }
            set { _obj.Name = value; }
        }

        [Category("Appearance")]
        public int RowCount
        {
            get { return _obj.RowCount; }
            set { _obj.RowCount = value; }
        }

        [Category("Appearance")]
        public int RowHeight
        {
            get { return _obj.RowHeight; }
            set { _obj.RowHeight = value; }
        }

        [Category("Appearance")]
        public Color SelectedItemBackColor
        {
            get { return _obj.SelectedItemBackColor; }
            set { _obj.SelectedItemBackColor = value; }
        }

        [Category("Appearance")]
        public Color SelectedItemFontColor
        {
            get { return _obj.SelectedItemFontColor; }
            set { _obj.SelectedItemFontColor = value; }
        }

        [Category("Layout")]
        public Size Size
        {
            get { return _obj.Size; }
            set { _obj.Width = value.Width; }
        }

        [Category("Appearance")]
        public Color ScrollbarBackColor
        {
            get { return _obj.ScrollbarBackColor; }
            set { _obj.ScrollbarBackColor = value; }
        }

        [Category("Appearance")]
        public Color ScrollbarScrubberColor
        {
            get { return _obj.ScrollbarScrubberColor; }
            set { _obj.ScrollbarScrubberColor = value; }
        }

        [Category("Appearance")]
        public int ScrollbarWidth
        {
            get { return _obj.ScrollbarWidth; }
            set { _obj.ScrollbarWidth = value; }
        }

        [Category("Appearance")]
        public bool ShowHeaders
        {
            get { return _obj.ShowHeaders; }
            set { _obj.ShowHeaders = value; }
        }

        [Category("Appearance")]
        public bool ShowScrollbar
        {
            get { return _obj.ShowScrollbar; }
            set { _obj.ShowScrollbar = value; }
        }

        [Category("Behavior")]
        public bool SortableHeaders
        {
            get { return _obj.SortableHeaders; }
            set { _obj.SortableHeaders = value; }
        }

        [Category("Behavior")]
        public bool TappableCells
        {
            get { return _obj.TappableCells; }
            set { _obj.TappableCells = value; }
        }

        #endregion

    }
}
